/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logic;

import java.util.Calendar;

/**
 * Clase Categoría, extiende de la clase Objeto, tiene como atributo las rifas
 * que estén en dicha clase (Un BDManage rifa).
 * @author Victoria Fuenmayor y José Gabriel Rivera
 */
public class Categoria extends Objeto{
    
    private BDManage rifas;

    /**
     * Constructor de Categoría, recibe el nombre y el id que tendrá la categoría.
     * nombre e id son heredadas de Objeto por lo que se llama al constructor del mismo.
     * Se crea una base de datos de rifas correspondiente a las rifas de esta categoría.
     * @param nombre
     * @param id 
     */
    public Categoria(String nombre,int id) {
        super(id,nombre);
        rifas = new BDManage();
    }
    
    /**
     * Retorna la base de datos de Rifa
     * @return rifas (Tipo BDManage)
     */
    public BDManage getRifas() {
        return rifas;
    }
    
    /**
     * Crea una nueva rifa con los parámetros indicados (nombre, descripcion, categoria, valor del ticket, valor del producto, fecha de inicio y fecha del sorteo).
     * Se instancia la rifa con el id que retorne el método firstFree de la base de datos (el index que coresponderá a esa rifa) y los atributos antes mencionados.
     * Luego se agrega a esa rifa en el index indicado por el id de la misma.
     * @param nombre
     * @param descripcion
     * @param categoria
     * @param valorTicket
     * @param valorProducto
     * @param fechaIni
     * @param fechaFin 
     */
    public void newRifa(String nombre, String descripcion,Categoria categoria, double valorTicket,
                               double valorProducto,Calendar fechaIni,Calendar fechaFin){
        
        Rifa rifa = new Rifa(rifas.firstFree(),nombre,descripcion,categoria,valorTicket,valorProducto,fechaIni,fechaFin);
        rifas.addObject(rifa, rifa.getId());
    }
    
}
